package nf.modular.modclass;

import java.awt.Component;
import java.util.List;

import nf.modular.ModuleHost;
import nf.modular.NFModule;
import nf.modular.NFModuleType;
import nf.modular.data.ClassificationResult;

public abstract class ResultExporter extends NFModule
{
	public static enum ResultType
	{
		NoExport,
		SilentAction,
		FileExport,
		GUIFrame
	}
	
	public ResultExporter(ModuleHost host, String scratchDir)
	{
		super(host, scratchDir);
	}

	@Override
	public NFModuleType getModuleType()
	{
		return NFModuleType.ResultExporter;
	}

	public abstract ResultType getResultType();
	
	public abstract String getFileType();
	
	public abstract boolean exportDataToFile(List<ClassificationResult> results, String fileName);
	public abstract boolean exportDataSilent(List<ClassificationResult> results);
	public abstract boolean exportDataGUI(List<ClassificationResult> results, Component parent);
	

}
